package com.shop.bussiness;

import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;

import com.shop.bussiness.contentBuild.*;

import com.shop.util.RequestArgs;
import com.shop.util.Stat;


/**
 * 内容工厂类，根据客户端请求参数（功能id）选择相应的业务处理类进行处理。
 * @author yuxiaowei
 *
 */
public class ContentBuilderFactory {
	private static Logger log = Logger.getLogger(ContentBuilderFactory.class);
	private static Map<Integer,IContentBuild> map=new HashMap<Integer, IContentBuild>();
	static{
		map.put(1, new IndexContentBuild());//首页  √
		map.put(2, new LoginContentBuild());//登陆页面    √
		map.put(3, new SearchContentBuild());//列表页 搜索结果页  √
		map.put(4, new ReleaseContentBuild());//发布结果页  推荐页  √
		map.put(5, new DetailContentBuild());//详情页  √
		map.put(6, new BookContentBuild());//预订（邀请）页
		map.put(7, new UpdateContentBuild());//注册 修改个人信息页  √
		map.put(8, new CenterContentBuild());//个人中心  √
		map.put(9, new UserinfoContentBuild());//个人详情页面
		map.put(10, new NoticeContentBuild());//通知页
		map.put(11, new ChatContentBuild());//聊天页面
		map.put(12, new ChatListContentBuild());//临时会话列表
		map.put(13, new VoteContentBuild());//评分接口
//		map.put(10, new TenPayContentBuild());//处理财付通
//		map.put(11, new LeposPayContentBulid());
//		map.put(12, new NofityContentBuild());
//		map.put(13, new hongbaoContentBuild());
	}
	public static  String getContent(RequestArgs args)
	{
		int funid=args.getFunid();
			try{
				IContentBuild builder=map.get(funid);
				long start=System.currentTimeMillis();
				String data=builder.buildContent(args);
				long end=System.currentTimeMillis();
				log.debug("业务处理时间==time="+(end-start)+"ms");
				Stat.printLog(args);
//				System.out.println(data);
				return data;
			}catch(Exception ex){
				log.error("",ex);
				ex.printStackTrace();
				return null;
			}
	}
	
}
